#
#  $Id$
#

@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@

LIBNAME=libcsupport.a
LIB=${ARCH}/${LIBNAME}

# define TARGET_PIECES later based on RTEMS_CPU definition

# C and C++ source names, if any, go here -- minus the .c or .cc
C_PIECES=__times _execve malloc syscalls \
    no_libc support libio hosterr tcattr tcdrain \
    cfiospeed termios $(TARGET_PIECES)
C_FILES=$(C_PIECES:%=%.c)
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)

H_FILES=$(srcdir)/libcsupport.h
SYS_H_FILES=
RTEMS_H_FILES=$(srcdir)/libio.h
PRIVATE_H_FILES=$(srcdir)/internal.h

INSTALLED_H_FILES=$(srcdir)/libio.h $(srcdir)/libcsupport.h
SRCS=$(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES) $(PRIVATE_H_FILES)
OBJS=$(C_O_FILES)

include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/lib.cfg

ifeq ($(RTEMS_CPU),unix)
TARGET_PIECES=unixlibc
else
TARGET_PIECES=__brk __gettod newlibc newlibif newlibifr \
  getdents readdir opendir closedir rewinddir scandir seekdir telldir
endif

#
# Add local stuff here using +=
#

DEFINES  +=
CPPFLAGS +=
CFLAGS   += $(LIBC_DEFINES)

#
# Add your list of files to delete here.  The config files
#  already know how to delete some stuff, so you may want
#  to just run 'make clean' first to see what gets missed.
#  'make clobber' already includes 'make clean'
#

CLEAN_ADDITIONS += $(LIB)
CLOBBER_ADDITIONS +=

all:	${ARCH} preinstall $(LIB)
	$(INSTALL_VARIANT) -m 644 ${LIB} ${PROJECT_RELEASE}/lib

$(LIB): $(SRCS) ${OBJS}
	$(make-library)

# Install the library, appending _g or _p as appropriate.
# for include files, just use $(INSTALL)
preinstall:
	$(INSTALL) -m 444 ${RTEMS_H_FILES} $(PROJECT_INCLUDE)/rtems
	$(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE)
	$(INSTALL) -m 444 $(SYS_H_FILES) $(PROJECT_INCLUDE)/sys


